//
//  LYQWBButton.swift
//  SwiftWeibo
//
//  Created by 刘英群 on 2017/1/28.
//  Copyright © 2017年 刘英群. All rights reserved.
//

import UIKit

class LYQWBButton: UIButton {

    //重载构造函数
    // title 如果是nil，就显示‘首页’
    // 如果不为nil， 显示title 就显示 title 和 箭头图像
    init(title: String?) {
        
        super.init(frame:CGRect())
        
        // 1判断title是否为nil
        if title == nil {
            
            setTitle("首页" + " ", for: .normal)
        }else {
            
            setTitle(title!, for: .normal)
            setImage(UIImage(named: "navigationbar_arrow_down"), for: .normal)
            setImage(UIImage(named: "navigationbar_arrow_up"), for: .selected)
        }
        
        //2.设置字体和颜色
        titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
        setTitleColor(UIColor.darkGray, for: [])
        
        //3设置大小
        sizeToFit()
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func layoutSubviews() {
        
        super.layoutSubviews()
       
        //判断label和imageView是否同时存在
        guard let titleLabel = titleLabel, let imageView = imageView else {
            
            return
        }
        print("\(titleLabel)\(imageView)")
        
        // 将 label 的 x 向左移动imageView的宽度
        titleLabel.frame = titleLabel.frame.offsetBy(dx: -imageView.bounds.width, dy: 0)
        // 将 imageView 的 x 向右移动 label的宽度
        imageView.frame = imageView.frame.offsetBy(dx: titleLabel.bounds.width, dy: 0)
    }
}
